package com.example.nonacademic_education.service;

import com.example.nonacademic_education.data.request.FileApplyVo;
import com.example.nonacademic_education.data.request.FileInfoR;
import com.example.nonacademic_education.data.request.UploadFileInfo;
import com.example.nonacademic_education.entity.FileApply;
import com.example.nonacademic_education.util.R;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * @author xinmiao
 * @description
 * @date 2023/4/18 11:18
 */
public interface FileService {
    R upload(UploadFileInfo fileInfo, MultipartFile[] files);



    R multiConditionQuery(FileInfoR fileInfoR, Integer page, Integer size);

    void download(List<Long> ids, HttpServletResponse response,Long userId) throws IOException;

    R getApplyList(FileApplyVo fileApply, Long departmentId, Integer page, Integer size);

    R audit(Long fileId, Integer isPass,Long applyId,String cause);

    R reload(Long id, MultipartFile file) throws IOException;

    R upload(MultipartFile file,Integer year,String projectName);

    R apply(UploadFileInfo fileInfo);

    R deleteFiles(List<Long> ids,Long applyId);
}
